package mapper.base;

import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import mapper.annotation.ResponseResult;
import mapper.model.ResponseData;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.util.Map;

public interface IPlugin {

	@RequestMapping
	@ResponseBody
	ResponseEntity execute(@PathVariable(required = false) Map<String, String> pathVar,
											 @RequestParam(required = false) Map<String, Object> param,
											 @RequestBody(required = false) Map<String, Object> data,
											 MultipartFile file,
						   					Map<String, String> extendParam,
											 @ResponseResult ResponseData responseData,
											 HttpServletRequest request, HttpServletResponse response) throws Throwable;
}
